#ifndef _INTERPRET_H_
#define _INTERPRET_H_

class Context;

class AbstractExpression {
public:
	virtual  ~AbstractExpression();
	virtual  void Interpret(Context* context) = 0;
protected:
	AbstractExpression();
private:

};

class TerminalExpression : public AbstractExpression {
public:
	TerminalExpression();
	virtual ~TerminalExpression();
	void Interpret(Context* context);
protected:
private:
};

class NonTerminalExpression : public AbstractExpression {
public:
	NonTerminalExpression();
	virtual ~NonTerminalExpression();
	void Interpret(Context* context);
protected:
private:
};

#endif